package com.financing.wap.service.payment.biz;


import java.util.Map;

/**
 * 支付业务逻辑服务
 * @author wade
 *
 */
public interface PaymentBizService {
	/**
	 * 绑卡请求接口
	 * @param auth
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> invokebindbankcard(Map<String, String> auth) throws Exception;
	/**
	 * 绑卡确认接口
	 * @param auth
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> confirmbindbankcard(Map<String, String> auth) throws Exception;
	
	/**
	 * 支付请求服务
	 * @param payRequest
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> sendPayRequest(Map<String, String> payRequest) throws Exception;
	
	/**
	 * 支付请求服务-支付保证金接口
	 * @param payRequest
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> sendPayRequestBZJ(Map<String, String> payRequest) throws Exception;
	
	/**
	 * 支付请求服务-支付佣金接口
	 * @param payRequest
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> sendPayRequestYJ(Map<String, String> payRequest) throws Exception;
	/**
	 * 
	 * 查询订单状态
	 * @param order
	 * @return map信息，其中包括以下字段
	 * <pre>
	 * result.put("transSerialNo",  "???") ;//平台流水号：
	 * result.put("orderId",        "???") ;//订单号：
	 * result.put("succAmt",        "???") ;//支付金额：
	 * result.put("buySuccTime",    "???") ;//支付完成时间yyyyMMddHHmmss
	 * result.put("tpayReSerialNo", "???") ;//支付平台流水号：
	 * result.put("tpayResult",     "???") ;//支付结果：
	 * result.put("tpayRetCode",    "???") ;//支付响应码：
	 * result.put("tpayRetMsg",     "???") ;//支付响应信息：
	 * result.put("retCode",        "???") ;//3成功，2失败 ，1结果未明
	 * result.put("retMessage",     "???") ;//成功或者失败的解释
	 * <pre>
	 * @throws Exception
	 */
	public Map<String, String> queryOrderStatus(Map<String, String> order) throws Exception;
	
	/**
	 * 支付短信请求服务
	 * @param payRequest
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> sendSMSRequest(Map<String, String> payRequest) throws Exception;
	
	/**
	 * 支付短信请求服务-支付保证金接口
	 * @param payRequest
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> sendSMSRequestBZJ(Map<String, String> payRequest) throws Exception;
	
	/**
	 * 支付短信请求服务-支付佣金接口
	 * @param payRequest
	 * @return
	 * @throws Exception
	 */
	public Map<String, String> sendSMSRequestYJ(Map<String, String> payRequest) throws Exception;

	
	
}
